package cn.supermarket.service.iservice;

import cn.supermarket.pojo.dto.StockTimeAddDTO;
import cn.supermarket.pojo.dto.StockUpdateDTO;
import cn.supermarket.pojo.vo.StockDetailedVO;

import java.math.BigDecimal;
import java.util.List;

/**
 * 库存实时更新---石彦春
 */
public interface IStockService {

    /**
     * 添加某商品的实时库存条目
     */
    void addNew(StockTimeAddDTO stockTimeAddDTO);

    /**
     * 更新实时库存
     */
    void addProductCount(Long productId, BigDecimal counts);

    void reduceProductCount(Long productId, BigDecimal counts);

    /**
     * 删除实时库存条目
     */
    void deleteById(Long productId);

    /**
     * 查询实时库存
     */
    StockDetailedVO selectStockDetailedVOByProductId(Long productId);

    /**
     * 查询所有
     */
    List<StockDetailedVO> selectAll();

    /**
     * 根据分类id查询
     */
    List<StockDetailedVO> selectByCategoryId(Long categoryId);

    /**
     * 查询库存报警
     */
    List<StockDetailedVO> selectByWarningLine();
}
